home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 February / EnigmA AMIGA RUN 34 (1999)(G.R. Edizioni)(IT)[!][issue 1999-02].iso / earcd / devel / mildred / lha / mildred.lha / Mildred.Readme < prev   
Text File  |  1999-02-18  |  32KB  |  373 lines

  1.  
  2. Mildred v1.38. Copyright (c) 1998-1999 Paul West and Pagan Software.
  3.  
  4. Mildred.obj is the actual Mildred chunky-graphics library. Put it into your
  5. Blitzlibs:Userlibs/ drawer. Then remake your deflibs file with either
  6. BlitzLibsMan, or the MakeDefLibs program.
  7.  
  8. If you encounter a crash when attempting to recreate your deflibs with
  9. Mildred.obj installed, try using the modified version that I have also supplied.
  10.  
  11. Then you can reload blitz/ted and Mildred's commandset should be available.
  12.  
  13. A suggested installation from CLI is as follows:
  14.  
  15. Lha x ram:Mildred.lha ram:
  16. Copy ram:Mildred.obj Blitzlibs:userlibs/
  17. ram:MakeDefLibs.exe
  18. EndCli
  19.  
  20. then load up blitz.
  21.  
  22. History
  23. v1.1  - First public release
  24. v1.11 - Fixed bug in MUseShapeBank and altered ShapesTotal size to word as it was incorrectly a longword
  25.       - Fixed bug in the errorchecking of Mc2pCPUmode that was checking d3 instead of d0
  26. v1.12 - Fixed bug in MUnQueue that would only do two lines of code if wrapping was active, but should have been done always
  27. v1.13 - MBoxF, MBoxFShape, MBoxFStencil and MBoxFCookie added
  28.       - MBox, MBoxShape, MBoxStencil and MBoxCookie added
  29. v1.14 - MPlanar16ToBitmap, MPlanar16ToShape added
  30. v1.15 - Planar-to-chunky converter optimised further using addx and reverse bitplane order, twice as fast as roxr.b #n,dn
  31.       - MGenericPtr added
  32.       - A shape's handle is unconditionally added (actually subtracted) to Xpos,Ypos in shape-to-bitmap type blits (MBlit etc)
  33. v1.16 - Fixed small bug in !PerformPoint macro, d6.l should have been d6.w.
  34.       - Fixed small but ineffective bug in MPlotCookie, d6.l should have been d6.w
  35. v1.17 - Added MCludgeCookie and MCludgeStencil, also needed to add two macros
  36.       - Fixed bug in macro used by MCludgeCookie and MCludgeStencil, as it was not setting `SHere' to 0 to indicate cludge.
  37. v1.18 - Added MUnQueueRange for unqueuing a range of items and without flushing the queue
  38. v1.19 - Fixed bug in data for shape banks, was using structures of 8 bytes but only were 6 bytes in mem
  39.       - Fixed bug in MReserveShapes, was shifting bank number 8 places instead of 3
  40. v1.2  - Added MReMap and MReMapShape
  41. v1.21 - Fixed bug in macro DeallocStencil, was killing the whole object
  42. v1.22 - Commented-out line in MShapeClip and MBitmapClip to make X leftedge unaligned (width is still multiple of 4)
  43.       - Commented-out line in Macro CludgeResourceWindow to make X leftedge unaligned (width of window is still multiple of 4)
  44. v1.23 - Added mode to MBlit so that if a cookie is not present it will just blit the graphic in `replace'-mode (unmasked)
  45.       - Minor pipeline improvement in macros !PerformPlot and !PerformPoint
  46.       - Added code to the init routine to reserve default amounts of all objects at runtime (doesn't need much mem)
  47.       - Added `BankToUse' parameter to MReserveShapes so that you don't have to do a seperate MUseShapeBank
  48.       - Changed BoxF and Box routines to use X2,Y2 instead of Width,Height and had to add macro CCheckWindowFits4
  49. v1.24 - Made the colour parameter in MPlot,MPlotShape,MPlotStencil and MPlotCookie optional, assuming 0 if not specified
  50.       - *Partially* Added MLine, MLineShape, MLineStencil and MLineCookie
  51.       - Modified shapebank-related routines to provide 32 shape banks numbered 0..31, instead of 0..9.
  52.       - Fixed bugs in macros ShuffleRegs1, ShuffleRegs2 and ShuffleRegs3
  53. v1.25 - Addred MReMapUsingShape and MReMapShapeUsingShape
  54. v1.26 - Optimised routine PerformReMapUsing for slight speed gain
  55.       - Optimised routine PerformReMap for 25% speed gain in table mode
  56.       - Fixed bug in macro CCheckWindowFits4, which affected runtime errorchecking of MBox/MBoxF and related routines
  57. v1.27 - Added MInk for setting a currently-used pen colour. Defaults to 1 which is a bit more logical than 0
  58.       - Added MColourMode function to accompany CookieMode/SolidMode etc, but for `colour' drawing mode in blits
  59.       - Added `colour' mode to MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines
  60.       - Removed redundant instruction in routine PerformBlit3's loop, for cookie-mode stencil-blits (slight speedup)
  61.       - Adjusted graphics routines to use the ink colour if assuming which colour to use, rather than 0
  62.       - Further optimised routine PerformReMapUsing for slight speedup (about 1-2fps)
  63.       - Changed order of tables being used for MReMap[Shape]UsingShape, for consistency with `MReMapMode' blit mode
  64.       - Added support for new Table objects
  65.       - Added MReserveTables, MFreeTables, MFreeTable, MAddrTable, MTable
  66.       - Added MFlushTable, MAutoUseTables, MUseTables, MUseTable, MUsedTable
  67.       - Added MTablePtr, MReMapMode
  68.       - Added new blit mode `ReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for table-based remapping
  69. v1.28 - Optimised MPictureDissolveIn for speed gain (a good few fps)
  70.       - Added MSimpleReMapMode
  71.       - Added new blit mode `SimpleReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for 1-dim remapping
  72.       - Fixed bug in definitions, MPointStencil and MPointCookie were defined as statements, but should have been functions
  73.       - Changed the !PerformPoint macro to initialise d0 before grabbing the byte, in case it causes corrupt return value
  74. v1.29 - Optimised non-cut routine used by MSMaskScrolls (PerformGenericBlit6[b])
  75.       - Slight optimisation to non-cut plain copy routine used by M[Q]SBlits (PerformBlit2)
  76.       - Finished MLine, MLineShape, MLineStencil and MLineCookie
  77. v1.30 - Redirected routine PerformGenericBlit3[b] to use PerformBlit1[b], to save code redundancy, and made gen3b into 1b
  78.       - Added MSMaskScrollMode to support blit modes for MSMaskScrolls (previously only MMaskScrolls)
  79.       - Redirected routine PerformGenericBlit6[b] to use PerformBlit2[b], to prepare for shared sblit blit-mode code
  80.       - Redirected routine PerformGenericBlit9[b] to use PerformBlit3[b], to prepare for shared sblit cut blit-mode code
  81.       - Completed support for MSMaskScrolls in `copy' mode with blit modes, by adding PerformBlit2b (2 backwards)
  82.       - Completed support for MSMaskScrolls in `cut' mode with blit modes, by adding PerformBlit3b (3 backwards)
  83.       - Modified runtime errorchecking routines for MSMaskScrolls to check that tables are available in M[Simple]ReMapMode
  84. v1.31 - Modified MScroll routines to support any width (non multiple, as low as 1).
  85.       - Modified MSScroll routines to support any width (non multiple, as low as 1) in both `paste' and `cut' modes.
  86. v1.32 - Fixed bugs in routine PerformBlit2[b] for non-cut output to stencil. Some OR's should have been AND's, and vice versa.
  87. v1.33 - Fixed bug in routine PerformLine, sometimes d5 was plotted rather than d6
  88. v1.34 - Added MPlotParticles for plotting list of pixels to a colour. List items are X.w,Y.w
  89.       - Added MGrabParticles for grabbing list of pixels to a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
  90.       - Added MDrawParticles for drawing grabbed list of pixels from a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
  91.       - Added MGrabParticlesAndPlot for grabbing and plotting pixels to a colour. List items are X.w,Y.w. Buffer is Pixel.b's
  92.       - Fixed bug in initialisation, auto-clip for bitmaps and shapes shouldn't have been automatically On!
  93.       - Added MPlotParticlesA, MGrabParticlesA, MDrawParticlesA, MGrabParticlesAndPlotA, for actual-address list items
  94.       - Added MPlotParticlesQ, MGrabParticlesQ, MDrawParticlesQ, MGrabParticlesAndPlotQ, for X.q,Y.q items [*16*.16][*16*.16]
  95.       - Added MAddToParticles, MAddToParticlesA, MAddToParticlesQ, for adding values to particle list items
  96.       - Added MAdd2ToParticles, MAdd2ToParticlesA, MAdd2ToParticlesQ, for more efficient multiple adds to list items
  97. v1.35 - Added MWrapParticles, MWrapParticlesA, MWrapParticlesQ, to wrap coords around edges of bitmap/clip (within reason)
  98.       - Fixed bugs in clip routine of MAddToParticlesQ and MAdd2ToParticlesQ, offsets and adders and adding were wrong
  99.       - Fixed bugs in clip routine of MWrapParticles and MWrapParticlesQ, 2 conditional branches to loop missing
  100. v1.36 - Added MReboundParticles and MReboundParticlesQ, for bouncing particless off the edges. No `A' version, not possible
  101.       - Fixed bugs in MLine, MLineShape, MLineStencil, MLineCookie, short version used wrong colour
  102.       - Added MProcessor function, to replace blitz's `Processor' instruction and support 060
  103.       - Modified various cpu-related routines (c2p and 040 choices) to support possible 060 cpu number
  104.       - Modified init routine to check for cpu availability and set MCPU, Mc2pCPUmode and M040c2pUsage to appropriate defaults
  105. v1.37 - Added MAddXYToParticles and MAddXYToParticlesQ for adding X and Y constants to X and Y components in a particle list
  106.       - Added MAddXYToParticlesA to add constant value to list of Ptr.l particles
  107.       - Added MAddXToParticles, MAddYToParticles, MAddXToParticlesQ and MAddYToParticlesQ for further adding to particle lists
  108. v1.38 - Removed unnecessary code from MPlotParticlesA, MGrabParticlesA, MDrawParticlesA and MGrabParticlesAndPlotA
  109.       - Added MParticleMode to choose MColourMode, MReMapMode or MSimpleReMapMode for particle plot/draw
  110.       - Added MSimpleReMapMode and MReMapMode support to MPlotParticles, MPlotParticlesA and MPlotParticlesQ (clipping also!)
  111.       - Added MSimpleReMapMode and MReMapMode support to MDrawParticles, MDrawParticlesA and MDrawParticlesQ (clipping also!)
  112.       - Added MSimpleReMapMode and MReMapMode support to MGrabParticlesAndPlot[A/Q] for remap plot and normal grab (and clip!)
  113.       - Merged MAdd2ToParticles[A/Q] into extension of MAddToParticles[A/Q] to make friendlier interface & cut down on tokens
  114.       - Token order has been compromised due to removal of MAdd2ToParticles, MAdd2ToParticlesA and MAdd2ToParticlesQ !!!
  115.       - Fixed errornumber bugs in errorchecking routines of MShapePtr and MCookiePtr. Was Error28, should have been Error27
  116.       - Added support to MBitmapPtr, MStencilPtr, MShapePtr and MCookiePtr to assume currently used objects if no params
  117.       - Merged MAddXToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if Y is 0)
  118.       - Merged MAddYToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if X is 0)
  119.       - Token order has been compromised due to removal of MAddXToParticles[Q] and MAddYToParticles[Q] !!!
  120.  
  121. Blitz library 'blitzlibs:userlibs/Mildred.obj' (#15)
  122.  Mc2pRowLacing State.b ; Toggle row-lacing in c2p On/Off. NonZero=On
  123.  Mc2pColumnLacing State.b ; Toggle column-lacing in c2p On/Off
  124.  Mc2pRowToggle  ; Toggle c2p row lacing between Even/Odd rows
  125.  Mc2pColumnToggle  ; Toggle c2p column lacing between Even/Odd columns
  126.  Mc2pToggleSingle  ; Toggle c2p lacing for single-buffered display
  127.  Mc2pToggleDouble Buf.b ; 0 or 1. Toggle c2p lacing for double-buffered display
  128.  Mc2pToggleTriple Buf.b ; 0, 1 or 2. Toggle c2p lacing for triple-buffered display
  129.  Mc2pToggle Buffers.b,Buf.b ; 1, 2 or 3, and 0, 1 or 2. Toggle c2p lacing.
  130.  M040c2pUsage Status.b ; On/Off - Availability of 040 c2p. Overrides Mc2pCPUmode
  131.  Mc2pCPUmode CPU.b ; Set cpu c2p uses. Use `MProcessor' or `Processor'. <4=030-, >3=040+
  132.  Mc2pWindow c2pWindow#.w,OpWidth.w,OpHeight.w[,SourceBWidth.w[,Processor.b],PlanarWidth.w,PlanarHeight.w]
  133.  Mc2pWindowWidth (c2pWindowNumber.w) ; Returns width of c2pWindow
  134.  Mc2pWindowHeight (c2pWindowNumber.w) ; Returns height of c2pWindow
  135.  Mc2pWindowNewHeight c2pWindow#.w,NewHeight.w ; Change height of already defined c2p object
  136.  Mc2p [[c2pWindow#.w],Chunky.l],Planar.l ; Convert chunky to planar (Use Mc2pWindow first)
  137.  MReservec2pWindows [(]NumberOfWindows.w[)] ; Reserve structure-memory for c2pWindows
  138.  MReserveShapes [(]NumberOfShapes.w[,ShapeBankToUse.w][)] ; Reserve structure-memory for Shapes
  139.  MReserveBitmaps [(]NumberOfBitmaps.w[)] ; Reserve structure-memory for Bitmaps
  140.  MInitShape [(]ShapeNumber.w,Width.w,Height.w[)] ; Allocmem for shape data
  141.  MShape [(]ShapeNumber.w,Width.w,Height.w[)] ; Allocmem for shape data
  142.  MBitmap [(]BitmapNumber.w,Width.w,Height.w[)] ; Allocmem for bitmap data
  143.  MAutoCookie On/Off ; Autocreation of ByteForByte cookies
  144.  MAutoStencil On/Off ; Autocreation of ByteForByte stencils
  145.  MFreec2pWindows [Firstc2pWindow.w,Lastc2pWindow.w] ; Free/delete all/range of c2pwindows
  146.  MFreec2pWindow  Free/delete a pre-existing c2pWindow
  147.  MFreeShapes [FirstShape.w,LastShape.w] ; Free/delete all/range of Shapes
  148.  MFreeShape ShapeNumber.w ; Free/delete a pre-existing Shape
  149.  MFreeBitmaps [FirstBitmap.w,LastBitmap.w] ; Free/delete all/range of Bitmaps
  150.  MFreeBitmap BitmapNumber.w ; Free/delete a pre-existing Bitmap
  151.  MShapeWidth (ShapeNumber.w) ; Returns width of Shape
  152.  MBitmapWidth (BitmapNumber.w) ; Returns width of Bitmap
  153.  MShapeHeight (ShapeNumber.w) ; Returns height of Shape
  154.  MBitmapHeight (BitmapNumber.w) ; Returns height of Bitmap
  155.  MAddrc2pWindow (c2pWindowNumer.w} ; Returns address of c2pWindow structure
  156.  MAddrShape (ShapeNumber.w) ; Returns address of Shape structure
  157.  MAddrBitmap (BitmapNumber.w) ; Returns address of Bitmap structure
  158.  MHandle ShapeNumber.w,XOffset.w,YOffset.w ; Set handle of Shape
  159.  MBitmapOrigin BitmapNumber.w,XOffset.w,YOffset.w ; Set origin of Bitmap
  160.  MMidHandle ShapeNumber.w ; Set handle to middle of Shape
  161.  MBitmapMidOrigin BitmapNumber.w ; Set origin to middle of Bitmap
  162.  MUsec2pWindows Mainc2pWindowNum.w[,Secondc2pWindowNum.w[,Thirdc2pWindowNum.w]] ; Current to use
  163.  MUsec2pWindow c2pWindowNumber.w ; Current to use
  164.  MUseShapes MainShapeNum.w[,SecondShapeNum.w[,ThirdShapeNum.w]] ; Current Shape(s) to use
  165.  MUseShape ShapeNumber.w ; Current Shape to use
  166.  MUseBitmaps MainBitmapNum.w[,SecondBitmapNum.w[,ThirdBitmapNum.w]] ; Current Bitmap to use
  167.  MUseBitmap BitmapNumber.w ; Current Bitmap to use
  168.  MUsedc2pWindow  ; Returns currently used c2pWindow
  169.  MUsedShape  ; Returns currently used Shape
  170.  MUsedBitmap  ; Returns currently used Bitmap
  171.  MCludgeShape ShapeNumber.w,Width.w,Height.w,Memory.l ; Cludge shape from existing mem
  172.  MCludgeBitmap BitmapNumber.w,Width.w,Height.w,Memory.l ; Cludge bitmap from existing mem
  173.  MAutoUsec2pWindows True/False ; Automatically `use' new c2pWindows. <>0=True
  174.  MAutoUseShapes True/False ; Automatically `use' new shapes. <>0=True
  175.  MAutoUseBitmaps True/False ; Automatically `use' new bitmaps. <>0=True
  176.  MMakeCookies [FirstShape.w,LastShape.w] ; Make cookies for all/range of shapes
  177.  MMakeCookie ShapeNumber.w ; Make a cookie for a shape
  178.  MMakeStencils [FirstBitmap.w,LastBitmap.w] ; Make stencils for all/range of bitmaps
  179.  MMakeStencil BitmapNumber.w ; Make a stencil for a bitmap
  180.  MFreeCookies [FirstShape.w,LastShape.w] ; Free all/range of cookies
  181.  MFreeCookie ShapeNumer.w ; Free's the Shape's cookie
  182.  MFreeStencils [FirstBitmap.w,LastBitmap.w] ; Free all/range of stencils
  183.  MFreeStencil BitmapNumber.w ; Free's the Bitmap's stencil
  184.  MAutoShapeWrap On/Off ; Auto X&Y Handle-wrapping for Shapes
  185.  MAutoBitmapWrap On/Off ; Auto X&Y Handle-Wrapingp for Bitmaps
  186.  MShapeWrap ShapeNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Shape
  187.  MBitmapWrap BitmapNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Bitmap
  188.  MCludgeShapeStruct [(]SourceShape.w,DestShape.w[)] ; Copy definition-data only
  189.  MCludgeBitmapStruct [(]SourceBitmap.w,DestBitmap.w[)] ; Copy definition-data only
  190.  MCopyc2pWindow Sourcec2pWindow.w,Destc2pWindow.w ; Copy definition-data only
  191.  MShapeWindow [(]SourceShape.w,DestShape.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Shape within a Shape
  192.  MBitmapWindow [(]SourceBitmap.w,DestBitmap.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Bitmap within a Bitmap
  193.  MBitmapShape [(]SourceBitmap.w,DestShape.w[)] ; Copy definition-data only
  194.  MShapesBitmap [(]SourceShape.w,DestBitmap.w[)] ; Copy definition-data only
  195.  MCopyHandle SourceShapeNumber.w,DestShapeNumber.w ; Copy a shape's handle to another shape
  196.  MCopyOrigin SourceBitmapNumber.w,DestBitmapNumber.w ; Copy a bitmap's origin to another bitmap
  197.  MAutoCookieXFlip On/Off ; Auto X-Flip for Shape's cookie
  198.  MAutoCookieYFlip On/Off ; Auto Y-Flip for Shape's cookie
  199.  MAutoStencilXFlip On/Off ; Auto X-Flip for Bitmap's stencil
  200.  MAutoStencilYFlip On/Off ; Auto Y-Flip for Bitmap's stencil
  201.  MAutoCookieFlip On/Off ; Auto X&Y Cookie-Flip for Shapes
  202.  MAutoStencilFlip On/Off ; Auto X&Y Stencil-Flip for Bitmaps
  203.  MShapeXFlip ShapeNumber.w ; Horizontally flip a Shape (see MAutoCookieFlip)
  204.  MShapeYFlip ShapeNumber.w ; Vertically flip a Shape (see MAutoCookieFlip)
  205.  MBitmapXFlip BitmapNumber.w ; Horizontally flip a Bitmap (see MAutoStencilFlip)
  206.  MBitmapYFlip BitmapNumber.w ; Vertically flip a Bitmap (see MAutoStencilFlip)
  207.  MCookieXFlip ShapeNumber.w ; Horizontally flip a Shape's cookie
  208.  MCookieYFlip ShapeNumber.w ; Vertically flip a Shape's cookie
  209.  MStencilXFlip BitmapNumber.w ; Horizontally flip a Bitmap's stencil
  210.  MStencilYFlip BitmapNumber.w ; Vertically flip a Bitmap's stencil
  211.  MAutoShapeClip Status.b ; Auto-clip new Shapes. On/Off
  212.  MAutoBitmapClip Status.b ; Auto-clip new Bitmaps. On/Off
  213.  MShapeClip ShapeNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Shape's clip window
  214.  MBitmapClip BitmapNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Bitmap's clip window
  215.  MGetaShape ShapeNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,StencilIsCookie?] ; Grab shape from bitmap
  216.  MGetaBitmap BitmapNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,CookieIsStencil?] ; Grab bitmap from shape
  217.  MScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy graphic
  218.  MScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy graphic
  219.  MScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy stencil to stencil only
  220.  MScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie to cookie only
  221.  MMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap graphic with stencil-cut
  222.  MMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape graphic with cookie-cut
  223.  MMaskScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];Copy stencil2stencil & stencil-cut
  224.  MMaskScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie to cookie & cookie-cut
  225.  MScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap to shape
  226.  MScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape to bitmap
  227.  MScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy stencil to cookie
  228.  MScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie to stencil
  229.  MMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap to shape & cut
  230.  MMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape to bitmap & cut
  231.  MMaskScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Copy stencil2cookie & cut
  232.  MMaskScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie2stencil & cut
  233.  MBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy graphic
  234.  MBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy graphic
  235.  MBlockScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy stencil to stencil
  236.  MBlockScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie to cookie
  237.  MBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy bitmap to shape
  238.  MBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy shape to bitmap
  239.  MBlockScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy stencil2cookie
  240.  MBlockScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie2stencil
  241.  MCPU Processor.b ; Set cpu routines allowed to use. CAREFUL!! Try using `MProcessor' or `Processor'
  242.  MCls [Colour] Clear a bitmap to colour 0 or the specified colour
  243.  MClsShape [Colour] Clear a shape to colour 0 or the specified colour
  244.  MClsStencil [Colour] Clear a stencil to colour 0 or the specified colour
  245.  MClsCookie [Colour] Clear a cookie to colour 0 or the specified colour
  246.  MPlot Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the bitmap [to the specified colour]
  247.  MPlotShape Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the shape [to the specified colour]
  248.  MPlotStencil Xpos.w,Ypos.w[,Colour] ;Plot a single pixel in the stencil to *represent* the [specified] colour
  249.  MPlotCookie Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the cookie to *represent* the [specified] colour
  250.  MPoint (Xpos.w,Ypos.w) ; Return the colour of a single pixel in a bitmap
  251.  MPointShape (Xpos.w,Ypos.w) ; Return the colour of a single pixel in a shape
  252.  MPointStencil (Xpos.w,Ypos.w) ; Return the status of a single pixel in a stencil. -1=Data, 0=Background
  253.  MPointCookie (Xpos.w,Ypos.w) ; Return the status of a single pixel in a cookie. -1=Data, 0=Background
  254.  MSScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bm 2 bm and st 2 st
  255.  MSScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy sh 2 sh and ck 2 ck
  256.  MSScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bm 2 sh and st 2 ck
  257.  MSScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy sh 2 bm and ck 2 st
  258.  MSMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Stencil-Copy bm 2 bm and st 2 st
  259.  MSMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cookie-Copy sh2sh and ck2ck
  260.  MSMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Sten-Copy bm2sh&st2ck
  261.  MSMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cook-Copy sh2bm&ck2st
  262.  MSBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Block-Copy bm 2 bm and st 2 st
  263.  MSBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Block-Copy sh2sh and ck2ck
  264.  MSBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy bm2sh&st2ck
  265.  MSBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w];BlockCopy sh2bm&ck2st
  266.  MSScrollCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
  267.  MUseShapeBank BankNumber.w ; Current shape bank, 0..31
  268.  MPictureDissolveIn PictureBitmapNum.w,Colour.b ; Do a picture-based colour-number dissolve-in of a bitmap
  269.  MMaskScrollMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  270.  MBlitMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  271.  MBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap, any coords
  272.  MBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap, align Xpos and width in multiples of 16!
  273.  MTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to bitmap, size must be 16x16, align x/y
  274.  MTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to bitmap, size must be 32x32, align x/y
  275.  MSTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmap, size 16x16, align x/y
  276.  MSTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmap, size 32x32, align x/y
  277.  MSTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmaps, size 16x16, align x/y
  278.  MSTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmaps, size 32x32, align x/y
  279.  MTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to 2 bitmaps, size 16x16, align x/y
  280.  MTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to 2 bitmaps, size 32x32, align x/y
  281.  MReserveQueues [(]NumberOfQueues.w[)] ; Reserve structure-memory for Queues
  282.  MFreeQueues [FirstQueue.w,LastQueue.w] ; Free/delete all/range of Queues
  283.  MFreeQueue QueueNumber.w ; Free/delete a pre-existing Queue
  284.  MAddrQueue (QueueNumber.w} ; Returns address of Queue structure
  285.  MQueue [(]QueueNumber.w,NumberOfItems.w[)] ; Allocmem for Queue list items
  286.  MFlushQueue QueueNumber.w ; Empties the queue to contain no items
  287.  MQBlitMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  288.  MAutoUseQueues True/False ; Automatically `use' new Queues. <>0=True
  289.  MUseQueues MainQueueNum.w[,SecondQueueNum.w[,ThirdQueueNum.w]] ; Current to use
  290.  MUseQueue QueueNumber.w ; Current to use
  291.  MUsedQueue  ; Returns currently used Queue
  292.  MQBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap, any coords
  293.  MQBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, align Xpos & width in mult of 16
  294.  MUnQueue QueueNumber.w[,BitmapNumber.w] ; UnQueue the queued objects and flush the queue
  295.  MBitmapPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return data address calculated using bitmap [and coords]
  296.  MShapePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return data address calculated using shape [and coords]
  297.  MStencilPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return address calculated using stencil [and coords]
  298.  MCookiePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return address calculated using cookie [and coords]
  299.  MQDummy [Queue.w,]Xpos.w,Ypos.w,Width.w,Height.w ; Add an item to a queue without having to do a blit
  300.  MSBlitMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  301.  MSBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap and cookie to stencil, any coords
  302.  MSBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap & cookie 2 stencil, Xpos&Width in 16's
  303.  MSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
  304.  MQSBlitMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  305.  MQSBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap and cookie to stencil, any coords
  306.  MQSBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, Xpos&width mult of 16
  307.  MQSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie. Adds entry to queue
  308.  MBoxF Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a bitmap [to specified colour]
  309.  MBoxFShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a shape [to specified colour]
  310.  MBoxFStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a stencil [to specified colour]
  311.  MBoxFCookie Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a cookie [to specified colour]
  312.  MBox Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a bitmap [to specified colour]
  313.  MBoxShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a shape [to specified colour]
  314.  MBoxStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a stencil [to specified colour]
  315.  MBoxCookie Xpos.w,Ypos.w,Width.w,Height.w[,Colour] Draw an unfilled box in a cookie [to specified colour]
  316.  MPlanar16ToBitmap BitmapNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
  317.  MPlanar16ToShape ShapeNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
  318.  MGenericPtr Xpos.w,Ypos.w,BaseAddress.l,RowWidth.w ; Calculate and return address based on inputs
  319.  MCludgeCookie ShapeNumber.w,Memory.l ; Cludge shape's cookie from existing mem
  320.  MCludgeStencil BitmapNumber.w,Memory.l ; Cludge bitmap's stencil from existing mem
  321.  MUnQueueRange QueueNumber.w,FirstItem.w,LastItem.w[,BitmapNumber.w] ; UnQueue a range of queued objects
  322.  MReMap [Colour#0.b,Colour#1.b,BitmapNum.w] *or* [RemapTable.l[,BitmapNum.w]] ; Remap #0 to #1 or with table
  323.  MReMapShape [Colour#0.b,Colour#1.b,ShapeNum.w] *or* [RemapTable.l[,ShapeNum.w]] ; Remap #0 to #1 or with table
  324.  MLine [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Bitmap [in Colour]
  325.  MLineShape [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Shape, [in Colour]
  326.  MLineStencil [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b];Draw a line from X1,Y1 to X2,Y2 in a stencil, [in Col]
  327.  MLineCookie [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a cookie, [in Col]
  328.  MReMapUsingShape RemapTable.l[,SourceShapeNum.w[,DestBitmapNum.w]] ;Merge shape to bitmap using 2xWay Table
  329.  MReMapShapeUsingShape RemapTable.l[,SourceShapeNum.w[,DestShapeNum.w]] ;Merge shape to shape using 2xWay Table
  330.  MInk Colour.b ; Set what colour to assume as currently used. 0..255
  331.  MColourMode ;Returns value 4 which represents `colour' mode in the blit modes
  332.  MReserveTables [(]NumberOfTables.w[)] ; Reserve structure-memory for Tables
  333.  MFreeTables [FirstTable.w,LastTable.w] ; Free/delete all/range of Tables
  334.  MFreeTable TableNumber.w ; Free/delete a pre-existing Table
  335.  MAddrTable (TableNumber.w} ; Returns address of Table structure
  336.  MTable [(]TableNumber.w,SizeInBytes.l[)] ; Allocmem for Table list items
  337.  MFlushTable TableNumber.w ; Empties the table to contain no items
  338.  MAutoUseTables True/False ; Automatically `use' new Tables. <>0=True
  339.  MUseTables MainTableNum.w[,SecondTableNum.w[,ThirdTableNum.w]] ; Current to use
  340.  MUseTable TableNumber.w ; Current to use
  341.  MUsedTable  ; Returns currently used Table
  342.  MTablePtr [TableNum.w] ; Returns pointer to base of the table itself
  343.  MReMapMode ;Returns value 5 which represents `ReMap' mode in the blit modes (uses current 2-dimensional table)
  344.  MSimpleReMapMode ;Returns value 6 which is `SimpleReMap' mode in blit modes (uses current 1-dimensional table)
  345.  MSMaskScrollMode Mode.w ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode
  346.  MPlotParticles CoordinateList.l,NumPoints.l[,Colour.b] ; Plot lots of points from an X.w,Y.w table of coords
  347.  MGrabParticles CoordinateList.l,NumPoints.l,Buffer.l ; Grab lots of points from X.w,Y.w table, into buffer mem
  348.  MDrawParticles CoordinateList.l,NumPoints.l,Buffer.l ; Draw lots of previously grabbed points, using X.w,Y.w's
  349.  MGrabParticlesAndPlot CoordinateList.l,NumPoints.l,Buffer.l[,Colour.b]; Grabs points X.w,Y.w to buffer & plots
  350.  MPlotParticlesA AddressList.l,NumPoints.l[,Colour.b] ; Plot lots of points from an Ptr.l table of coords
  351.  MGrabParticlesA AddressList.l,NumPoints.l,Buffer.l ; Grab lots of points from Ptr.l table, into buffer mem
  352.  MDrawParticlesA AddressList.l,NumPoints.l,Buffer.l ; Draw lots of previously grabbed points, using Ptr.l's
  353.  MGrabParticlesAndPlotA AddressList.l,NumPoints.l,Buffer.l[,Colour.b] ; Grabs points Ptr.l to buffer & plots
  354.  MPlotParticlesQ CoordinateList.l,NumPoints.l[,Colour.b] ; Plot lots of points from an X.q,Y.q table of coords
  355.  MGrabParticlesQ CoordinateList.l,NumPoints.l,Buffer.l ; Grab lots of points from X.q,Y.q table, to buffer mem
  356.  MDrawParticlesQ CoordinateList.l,NumPoints.l,Buffer.l ; Draw previously grabbed points, using X.q,Y.q's
  357.  MGrabParticlesAndPlotQ CoordinateList.l,NumPoints.l,Buffer.l[,Colour.b];Grabs points X.q,Y.q to buffer & plots
  358.  MAddToParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add X.w,Y.w to X.w,Y.w items in particle list
  359.  MAddToParticlesA AddressList.l,NumPoints.l,IncA.l[,IncB.l] ; Add Ptr.l to Ptr.l items in particle list
  360.  MAddToParticlesQ CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add X.q,Y.q to X.q,Y.q items in particle list
  361.  MWrapParticles CoordinateList.l,NumPoints.l ; Bring particles in from opposite edge to which they left
  362.  MWrapParticlesA CoordinateList.l,NumPoints.l ; Bring particles in from opposite edge to which they left
  363.  MWrapParticlesQ CoordinateList.l,NumPoints.l ; Bring particles in from opposite edge to which they left
  364.  MReboundParticles CoordinateList.l,NumPoints.l,DirectionList.l,DetectSize.w ; Bounce particles off edges
  365.  MReboundParticlesQ CoordinateList.l,NumPoints.l,DiectionList.l,DetectSize.w ; Bounce particles off edges
  366.  MProcessor ; Returns value 0..6 representing MC68000..MC68060 cpu according to exec\AttnFlags
  367.  MAddXYToParticles CoordinateList.l,NumPoints.l,XToAdd.w,YToAdd.w ; Add constants to all particles
  368.  MAddXYToParticlesA CoordinateList.l,NumPoints.l,ValueToAdd.l ; Add constant to all particle pointers
  369.  MAddXYToParticlesQ CoordinateList.l,NumPoints.l,XToAdd.q,YToAdd.q ; Add constants to all particles
  370.  MParticleMode Mode.w ; MColourMode, MSimpleReMapMode or MReMapMode - to use in particle plot/draw
  371.  
  372. Any problems/suggestions/bugs, contact paul@stationone.demon.co.uk
  373.